using System;
using System.Collections.Generic;
using System.Text;
namespace BLL.BusinessLayer
{
	[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
	[Serializable]
	public class ClsApps: BusinessObjectBase
	{

		public ClsApps() {}

		#region InnerClass
		public enum ClsAppsFields
		{
			AppID,
			AppName,
			DisplayName,
			Description,
			StartDate
		}
		#endregion

		#region Data Members

			int _appID;
			string _appName;
			string _displayName;
			string _description;
			DateTime? _startDate;

		#endregion

		#region Properties

		public int  AppID
		{
			 get { return _appID; }
			 set
			 {
				 if (_appID != value)
				 {
					_appID = value;
					 PropertyHasChanged("AppID");
				 }
			 }
		}

		public string  AppName
		{
			 get { return _appName; }
			 set
			 {
				 if (_appName != value)
				 {
					_appName = value;
					 PropertyHasChanged("AppName");
				 }
			 }
		}

		public string  DisplayName
		{
			 get { return _displayName; }
			 set
			 {
				 if (_displayName != value)
				 {
					_displayName = value;
					 PropertyHasChanged("DisplayName");
				 }
			 }
		}

		public string  Description
		{
			 get { return _description; }
			 set
			 {
				 if (_description != value)
				 {
					_description = value;
					 PropertyHasChanged("Description");
				 }
			 }
		}

		public DateTime?  StartDate
		{
			 get { return _startDate; }
			 set
			 {
				 if (_startDate != value)
				 {
					_startDate = value;
					 PropertyHasChanged("StartDate");
				 }
			 }
		}


		#endregion

		#region Validation

		internal override void AddValidationRules()
		{
			ValidationRules.AddRules(new Validation.ValidateRuleNotNull("AppID", "AppID"));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("AppName", "AppName",100));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("DisplayName", "DisplayName",100));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("Description", "Description",1000));
		}

		#endregion

	}
}
